package com.config.exception;

public class MyException extends RuntimeException{
    /**
     * 错误编码
     * */
    private int code;

   /**
    * * 消息是否为属性文件中的Key
    * */
   private boolean propertiesKey = true;

    /**
    * 构造一个基本异常.
     *
     * @param msg
     *            信息描述
      */
    public MyException(String msg)
    {
        super(msg);
    }

    /**
  * 构造一个基本异常.
 *
   * @param code
   *            错误编码
   * @param msg
   *            信息描述
   */
    public MyException(int code, String msg)
    {
      this(code, msg, true);
    }

  /**
  * 构造一个基本异常.
   *
    * @param code
    *            错误编码
   * @param msg
 *            信息描述
   */
  public MyException(int code, String msg, Throwable cause)
 {
     this(code, msg, cause, true);
  }

    /**
   * 构造一个基本异常.
 *
  * @param code
  *            错误编码
   * @param msg
  *            信息描述
  * @param propertiesKey
  *            消息是否为属性文件中的Key
  */
 public MyException(int code, String msg, boolean propertiesKey)
{
      super(msg);
      this.setCode(code);
      this.setPropertiesKey(propertiesKey);
}

   /**
   * 构造一个基本异常.
    *
    * @param code
    *            错误编码
   * @param msg
   *            信息描述
   */
  public MyException(int code, String msg, Throwable cause, boolean propertiesKey)
  {
      super(msg, cause);
     this.setCode(code);
     this.setPropertiesKey(propertiesKey);
   }

  /**
  * 构造一个基本异常.
    *
    * @param msg
   *            信息描述
     * @param cause
    *            根异常类（可以存入任何异常）
  */
  public MyException(String msg, Throwable cause)
  {
     super(msg, cause);
   }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public boolean isPropertiesKey()
   {
      return propertiesKey;
  }

   public void setPropertiesKey(boolean propertiesKey)
  {
       this.propertiesKey = propertiesKey;
   }
}
